package com.itheima3;

import com.itheima3.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * @author xiaoChen
 * @description:
 * 使用AOP的三大方式
 * 方式一：使用原生Spring API接口
 * 方式二：自定义切面类
 * 方式三：注解方式
 * @date 2022/5/17 16:35
 */
@Slf4j
public class Main {

    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext3.xml");
        UserService service = (UserService) context.getBean("userService");
        //  坑： aop底层是动态代理、又分两种jdk动态和cglib动态，spring默认jdk代理，需要接口来接收对象
        service.add();
    }

}
